package com.mall.service.impl;

import com.mall.beans.Category;
import com.mall.beans.Page;
import com.mall.mapper.CategoryMapper;
import com.mall.service.CategoryService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 商品表分类(Category)表服务实现类
 *
 * @author 曾涛
 * @since 2020-12-21 17:21:41
 */
@Service("categoryService")
public class CategoryServiceImpl implements CategoryService {
    @Resource
    private CategoryMapper categoryMapper;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public Category queryById(Integer id) {
        return this.categoryMapper.queryById(id);
    }

    /**
     * 查询所有
     *
     * @return 实例对象
     */
    @Override
    public List<Category> all() {
        return categoryMapper.all();
    }

    /**
     * 新增数据
     *
     * @param category 实例对象
     * @return 实例对象
     */
    @Override
    public int insert(Category category) {
        return this.categoryMapper.insert(category);

    }

    /**
     * 修改数据
     *
     * @param category 实例对象
     * @return 实例对象
     */
    @Override
    public int update(Category category) {
        return this.categoryMapper.update(category);
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public int delete(Integer id) {
        return this.categoryMapper.delete(id);
    }

    /**
     * 通过主键删除数据
     *
     * @param pageIndex 从第几个开始
     * @return 是否成功
     */
    @Override
    public Page page(int pageIndex,int size) {
        return new Page(
                pageIndex,
                categoryMapper.count(),
                categoryMapper.page((pageIndex - 1) * size, size)
        ) ;
    }


}